/* Copyright (c) 2004-2024 Peigen.info. All rights reserved. */

package info.peigen.hotpot.component.gateway.dianlan.facade.command.order;

import info.peigen.hotpot.component.gateway.dianlan.facade.command.order.base.AbstractDianlanServiceOrder;
import info.peigen.hotpot.component.gateway.dianlan.facade.enums.DianlanTransStopDetail;
import info.peigen.hotpot.component.gateway.dianlan.facade.enums.DianlanTransType;
import lombok.AccessLevel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;
import lombok.experimental.SuperBuilder;

/**
 * <b>(DianlanStubStopChargeOrder)</b>
 *
 * @author czj
 * @version 1.0.0
 * @since 2022/11/17
 */
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@Data
@NoArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
@Accessors(chain = true)
public class DianlanStubCostOrder extends AbstractDianlanServiceOrder {
    /** 交易流水号 */
    String transNo;
    /** 桩编码 */
    String stubNo;
    /** 充电枪号 */
    String chargingPortNo;
    /** 开始时间 */
    String startTime;
    /** 结束时间 */
    String endTime;

    /** 尖单价 精确到小数点后五位（尖电费+尖服务费，见费率帧） */
    String needleUnitPrice;
    /** 尖电量 精确到小数点后四位 */
    String needleCurrent;
    /** 计损尖电量 精确到小数点后四位 */
    String lossNeedleCurrent;
    /** 尖金额 精确到小数点后四位 */
    String needleAmount;

    /** 峰单价 精确到小数点后五位（峰电费+峰服务费） */
    String peakUnitPrice;
    /** 峰电量 精确到小数点后四位 */
    String peakCurrent;
    /** 计损峰电量 精确到小数点后四位 */
    String lossPeakCurrent;
    /** 峰金额 精确到小数点后四位 */
    String peakAmount;

    /** 平单价 精确到小数点后五位（平电费+平服务费） */
    String flatUnitPrice;
    /** 平电量 精确到小数点后四位 */
    String flatCurrent;
    /** 计损平电量 精确到小数点后四位 */
    String lossFlatCurrent;
    /** 平金额 精确到小数点后四位 */
    String flatAmount;

    /** 谷单价 精确到小数点后五位（谷电费+谷服务费） */
    String valleyUnitPrice;
    /** 谷电量 精确到小数点后四位 */
    String valleyCurrent;
    /** 计损谷电量 精确到小数点后四位 */
    String lossValleyCurrent;
    /** 谷金额 精确到小数点后四位 */
    String valleyAmount;


    /** 电表总起值 精确到小数点后四位 */
    String                 totalStart;
    /** 电表总止值 精确到小数点后四位 */
    String                 totalStop;
    /** 总电量 精确到小数点后四位 */
    String                 totalCurrent;
    /** 计损总电量 精确到小数点后四位 */
    String                 lossTotalCurrent;
    /** 消费金额 精确到小数点后四位 */
    String                 consumeAmount;
    /** 电动汽车唯一标识 VIN */
    String                 vin;
    /** 交易标识 */
    DianlanTransType       transType;
    /** 交易时间 */
    String                 transTime;
    /** 交易标识 */
    DianlanTransStopDetail stopReason;
    /** 物理卡号 显示在屏幕上，不足 8 位补零 */
    String                 physicsCardNo;
}
